package com.iris.live.services.services;

import com.iris.live.services.models.RequestBase;

import java.util.Map;

/**
 * Created by gengshuai on 26/12/2017.
 */
public interface CommonSearchService {

    /**
     * 获取用户名所属大区LIST
     *
     * @param comm
     * @return
     */
    Map<String, Object> listAreas(CommonSearchRequest comm);

    /**
     * PMA API
     *
     * @param comm
     * @return
     * @throws Exception
     */
    Map<String, Object> listPmas(CommonSearchRequest comm);

    /**
     * 经销商 API
     *
     * @param comm
     * @return
     * @throws Exception
     */
    Map<String, Object> listDealers(CommonSearchRequest comm);

    /**
     * 获取活动类型API（视图->API接口）
     * @return Map
     * @param comm
     */
    Map<String,Object> getActivityTypes(CommonSearchRequest comm);

    /**
     * 获取主导与发起PI（视图->API接口）
     * @return Map
     * @param comm
     */
    Map<String,Object> getLeadingAndLaunches(CommonSearchRequest comm);


    /**
     * 获取车系API（视图->API接口）
     *
     * @param comm
     * @return Map
     */
    Map<String,Object> getCarSeries(CommonSearchRequest comm);

    /**
     * 获取车型API（视图->API接口）
     *
     * @param comm
     * @return Map
     */
    Map<String,Object> getCarModes(CommonSearchRequest comm);

    /**
     * 获取金融贷款类型API（视图->API接口）
     * @return Map
     */
    Map<String,Object> getFinanceLoanTypes(CommonSearchRequest comm);

    /**
     * 获取品牌API（视图->API接口）
     * @return Map
     */
    Map<String,Object> getBrands(CommonSearchRequest comm);

    /**
     * 获取品牌合计API（视图->API接口）
     * @return Map
     */
    Map<String,Object> getBrandTotals(CommonSearchRequest comm);

    /**
     * 获取渠道API（视图->API接口）
     * @return Map
     */
    Map<String,Object> getChannels(CommonSearchRequest comm);

    /**
     * 获取金融机构
     * @return Map
     */
    Map<String,Object> getFinancialInstitutions(CommonSearchRequest comm);

    /**
     * 获取调研类型
     * @return Map
     */
    Map<String,Object> getResearchTypes(CommonSearchRequest comm);

    /**
     * 获取问卷版本号
     * @param comm
     * @return Map
     */
    Map<String,Object> getQuestionVersion(CommonSearchRequest comm);

    /**
     * 获取经销商销售顾问
     * @param comm
     * @return Map
     */
    Map<String,Object> getSalesConsultants(CommonSearchRequest comm);

    /**
     * 根据用户名取许可
     * @param comm
     * @return Map
     */
    Map<String,Object> getPermitByUserName(CommonSearchRequest comm);

    /**
     * 检索视图转API共同参数类
     *
     * @return
     */
    static class CommonSearchRequest extends RequestBase {
        public String frUserName;//用户名
        public String frAuthority;//权限
        public String groupId;//项目
        public String isable;//敏感度： 0.不敏感 1.敏感
        public String selBrand;//品牌
        public String selMotorcycleType;//级别
        public String stage;//阶段
        public String selRegionCode;//地区Code
        public String selPmaCode;//PMA Code
    }
}
